En esta gráfica de accidentes entre el 2016-2022 de caras de Chernoff
podemos observar en un inicio que hay 12 caras, una por cada mes del
año. Segundo hay variedad de colores, los cuales representan el día con
más accidentes de ese mes. Y por último todas las caras tiene el mismo
tamaño, ya que el tamaño lo determina la ruta con más accidentes.
Teniendo esto en cuenta, porque tiene el mismo tamaño todas las caras?
Pues los datos de análisis indican que a través del intervalo de años
entre el 2016-2022 las rutas con más accidentes han sido las cantonales.
Es muy interesante que en ese intervalo de años el día que suele tener
más accidentes es el viernes, además el Lunes y Sábado sueles tener la
misma cantidad de accidentes.
En este gráfico de paste se muestra el porcentaje de los accidentes
entre el 2016-2022 por tipo de ruta. Se puede apreciar que el mayor
porcentaje de accidentes en el intervalo de años se ha dado en rutas
urbana, eso quizá tenga que ver en parte porque hay menos tránsito en
rutas rurales. Con lo anterior en cuenta, también puede ser que porque
hay menos cantidad de tránsito hayan menos factores psicoemocionales que
afecten al momento de conducir.
Entre 2016-2022, la gráfica apilada de barras muestra que las barras
están agrupadas por región y apiladas por cantones con mayor número de
accidentes. El color indica cuántos accidentes hubieron en cada cantón.
En la zona de Costa Rica, donde más accidentes ocurrieron, la región
central y el cantón de San José tienen el mayor número de accidentes.
Además, los cantones que comparten más accidentes son los más
desarrollados urbanamente, mientras que los cantones con menos
accidentes son los más pobres o menos desarrollados. Esto se podría
deber a que hay menos vehículos en carretera, por la falta de poder
adquisitivo.
Esta gráfica muestra el mínimo de accidentes por año, tipo de
circulación, estado del clima y son agrupados por la gravedad del
accidente. La mayoría de los accidentes curiosamente se dan con buen
tiempo, contrariamente a lo que se esperaría que sea más bien en un mal
clima como la lluvia. Esto quiere decir que si hay un buen clima los
conductores se relajan y no andan lo suficientemente atentos al
ambiente. Esto tiene un efecto inmediato con el tipo de circulación, ya
que al no tomar la suficiente precaución se terminan accidentando, y
estos en su mayoría son de extrema gravedad.
LS0tDQp0aXRsZTogIkFjY2lkZW50ZXMgZGUgdHJhbnNpdG8gZW4gQ1IgZW50cmUgMjAxNi0yMDIyIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmRhdGEgPC0gcmVhZC5jc3YoImFjY2lkZW50ZXNfdHJhbnNpdG9fY29uX3ZpY3RpbWFzXzIwMTZfMjAyMi5jc3YiLCBzZXAgPSAiOyIpDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRSwgd2FybmluZyA9IEZBTFNFfQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkocGxvdGx5KQ0KbGlicmFyeShjb2xvcnNwYWNlKQ0KbGlicmFyeSh0cmVlbWFwaWZ5KQ0KYGBgDQoNCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlID0gRkFMU0V9DQojb2J0ZW5lbW9zIGxvcyBtZXNlcywgZGlhcyB5IGxhIHJ1dGEgZG9uZGUNCiNtYXMgYWNjaWRlbnRlcyBoYXkNCm1lc2VzX2RpYXNfUlVfbWFzX2FjY2lkZW50ZXMgPC0gZGF0YSAlPiUNCiAgZmlsdGVyKGdyZXBsKCJeW0EtTF1cXC4uKlxccyhFbmVyb3xGZWJyZXJvfE1hcnpvfEFicmlsfE1heW98SnVuaW98SnVsaW98QWdvc3RvfFNldGllbWJyZXxPY3R1YnJlfE5vdmllbWJyZXxEaWNpZW1icmUpJCIsIE1lcykpICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIl5bMS03XVxcLihEb21pbmdvfEx1bmVzfE1hcnRlc3xNacOpcmNvbGVzfEp1ZXZlc3xWaWVybmVzfFPDoWJhZG8pJCIsIETDrWEpKSAlPiUNCiAgZ3JvdXBfYnkoTWVzLETDrWEsUnV0YSkgJT4lDQogIHN1bW1hcmlzZShNRHRvdGFsX2FjY2lkZW50ZXMgPSBuKCkpICU+JQ0KICBhcnJhbmdlKGRlc2MoTUR0b3RhbF9hY2NpZGVudGVzKSkNCg0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzIDwtIG1lc2VzX2RpYXNfUlVfbWFzX2FjY2lkZW50ZXMgJT4lDQogIGdyb3VwX2J5KE1lcykgJT4lDQogIHNsaWNlKDEpDQogIA0KbnVtZXJvX21lcyA8LSBzZXEoMSwgMTIsIGxlbmd0aC5vdXQgPSBucm93KHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcykpDQpudW1lcm9fbWVzIDwtIGFzLmludGVnZXIobnVtZXJvX21lcykNCnJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyA8LSBjYmluZChyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMsIE51bWVyb01lcyA9IG51bWVyb19tZXMpDQoNCiMgQ3JlYXIgdW5hIGNvbHVtbmEgcGFyYSBlbCBuw7ptZXJvIGRlIGTDrWEgc2Vnw7puIGVsIGTDrWEgZGUgbGEgc2VtYW5hIGVuIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcw0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzJENvbG9yRGlhIDwtaWZlbHNlKHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hID09ICIxLkRvbWluZ28iLCAiYmx1ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiMi5MdW5lcyIsICJyZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocmVnaXN0cm9zX21hc19mcmVjdWVudGVzJETDrWEgPT0gIjMuTWFydGVzIiwgInllbGxvdyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiNC5NacOpcmNvbGVzIiwgImN5YW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocmVnaXN0cm9zX21hc19mcmVjdWVudGVzJETDrWEgPT0gIjUuSnVldmVzIiwgImRhcmtncmVlbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiNi5WaWVybmVzIiwgImJyb3duIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hID09ICI3LlPDoWJhZG8iLCAiYmxhY2siLCBOQSkpKSkpKSkNCg0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzJGlkUnV0YSA8LWlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkUnV0YSA9PSAiQ2FudG9uYWwiLCAxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQpyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkTWVzIDwtIGdzdWIoIltBLUxdXFwuIiwgIiIsIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyRNZXMpDQoNCnJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hIDwtIGdzdWIoIlsxLTddXFwuIiwgIiIsIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hKQ0KDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmdyYWZpY29fY2hlcm5vZmYgPC0gZ2dwbG90KHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcywgYWVzKHggPSBOdW1lcm9NZXMsIHkgPSBpZFJ1dGEsbGFiZWwxID0gTWVzLGxhYmVsMiA9IFJ1dGEsbGFiZWwzID0gRMOtYSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gOSxjb2xvdXIgPSByZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkQ29sb3JEaWEpICsNCiAgbGFicyh4ID0gIk1lcyIseSA9ICJSdXRhIikgKw0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gIvCfkYHvuI8g8J+Rge+4jyIpLHZqdXN0ID0gLTUsIHNpemUgPSAzKSsgIA0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gIvCfkYQiKSwgdmp1c3QgPSA1LCBzaXplID0gMikgKw0KICB0aGVtZV9idygpDQoNCiMgQ29udmVydGltb3MgZWwgZ3LDoWZpY28gZ2dwbG90MiBlbiB1bm8gaW50ZXJhY3Rpdm8gY29uIHBsb3RseQ0KZ3JhZmljb19pbnRlcmFjdGl2byA8LSBnZ3Bsb3RseShncmFmaWNvX2NoZXJub2ZmLHRvb2x0aXAgPSBjKCJsYWJlbDEiLCAibGFiZWwyIiwgImxhYmVsMyIpKQ0KDQojIE1vc3RyYW1vcyBlbCBncsOhZmljbyBpbnRlcmFjdGl2bw0KZ3JhZmljb19pbnRlcmFjdGl2bw0KDQojIDEyIGNhcmFzIHBvciBsb3MgbWVzZXMsIGNvbG9yIGNhcmEgZGlhcyAuLi4geSB0YW1hbmhvIGNhcmEgcnV0YQ0KYGBgDQpFbiBlc3RhIGdyw6FmaWNhIGRlIGFjY2lkZW50ZXMgZW50cmUgZWwgMjAxNi0yMDIyIGRlIGNhcmFzIGRlIENoZXJub2ZmIHBvZGVtb3Mgb2JzZXJ2YXIgZW4gdW4gaW5pY2lvIHF1ZSBoYXkgMTIgY2FyYXMsIHVuYSBwb3IgY2FkYSBtZXMgZGVsIGHDsW8uIFNlZ3VuZG8gaGF5IHZhcmllZGFkIGRlIGNvbG9yZXMsIGxvcyBjdWFsZXMgcmVwcmVzZW50YW4gZWwgZMOtYSBjb24gbcOhcyBhY2NpZGVudGVzIGRlIGVzZSBtZXMuIFkgcG9yIMO6bHRpbW8gdG9kYXMgbGFzIGNhcmFzIHRpZW5lIGVsIG1pc21vIHRhbWHDsW8sIHlhIHF1ZSBlbCB0YW1hw7FvIGxvIGRldGVybWluYSBsYSBydXRhIGNvbiBtw6FzIGFjY2lkZW50ZXMuIFRlbmllbmRvIGVzdG8gZW4gY3VlbnRhLCBwb3JxdWUgdGllbmUgZWwgbWlzbW8gdGFtYcOxbyB0b2RhcyBsYXMgY2FyYXM/IFB1ZXMgbG9zIGRhdG9zIGRlIGFuw6FsaXNpcyBpbmRpY2FuIHF1ZSBhIHRyYXbDqXMgZGVsIGludGVydmFsbyBkZSBhw7FvcyBlbnRyZSBlbCAyMDE2LTIwMjIgbGFzIHJ1dGFzIGNvbiBtw6FzIGFjY2lkZW50ZXMgaGFuIHNpZG8gbGFzIGNhbnRvbmFsZXMuIEVzIG11eSBpbnRlcmVzYW50ZSBxdWUgZW4gZXNlIGludGVydmFsbyBkZSBhw7FvcyBlbCBkw61hIHF1ZSBzdWVsZSB0ZW5lciBtw6FzIGFjY2lkZW50ZXMgZXMgZWwgdmllcm5lcywgYWRlbcOhcyBlbCBMdW5lcyB5IFPDoWJhZG8gc3VlbGVzIHRlbmVyIGxhIG1pc21hIGNhbnRpZGFkIGRlIGFjY2lkZW50ZXMuDQpgYGB7cixlY2hvPUZBTFNFfQ0KcnVyYWxVcmJhbm9fbWFzX2FjY2lkZW50ZXM8LWRhdGEgJT4lDQogIGdyb3VwX2J5KFJ1cmFsLm8udXJiYW5vKSU+JQ0KICBzdW1tYXJpc2UoUlV0b3RhbF9hY2NpZGVudGVzID0gbigpKSAlPiUNCiAgYXJyYW5nZShkZXNjKFJVdG90YWxfYWNjaWRlbnRlcykpDQojIGRlc2RlIDIwMTYgaGFzdGFzIDIwMjINCmBgYA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KbGFiZWxzID0gcnVyYWxVcmJhbm9fbWFzX2FjY2lkZW50ZXMkUnVyYWwuby51cmJhbm8NCnZhbHVlcyA9IHJ1cmFsVXJiYW5vX21hc19hY2NpZGVudGVzJFJVdG90YWxfYWNjaWRlbnRlcw0KDQpmaWcxIDwtIHBsb3RfbHkodHlwZT0ncGllJywgbGFiZWxzPWxhYmVscywgdmFsdWVzPXZhbHVlcywgDQogICAgICAgICAgICAgICB0ZXh0aW5mbz0nbGFiZWwrcGVyY2VudCcsDQogICAgICAgICAgICAgICBpbnNpZGV0ZXh0b3JpZW50YXRpb249J3JhZGlhbCcpDQpmaWcxIDwtIGZpZzEgJT4lIGxheW91dCh0aXRsZSA9ICdBY2NpZGVudGVzIHBvciBydXRhIGVudHJlIDIwMTYtMjAyMicpDQpmaWcxDQpgYGANCkVuIGVzdGUgZ3LDoWZpY28gZGUgcGFzdGUgc2UgbXVlc3RyYSBlbCBwb3JjZW50YWplIGRlIGxvcyBhY2NpZGVudGVzIGVudHJlIGVsIDIwMTYtMjAyMiBwb3IgdGlwbyBkZSBydXRhLiBTZSBwdWVkZSBhcHJlY2lhciBxdWUgZWwgbWF5b3IgcG9yY2VudGFqZSBkZSBhY2NpZGVudGVzIGVuIGVsIGludGVydmFsbyBkZSBhw7FvcyBzZSBoYSBkYWRvIGVuIHJ1dGFzIHVyYmFuYSwgZXNvIHF1aXrDoSB0ZW5nYSBxdWUgdmVyIGVuIHBhcnRlIHBvcnF1ZSBoYXkgbWVub3MgdHLDoW5zaXRvIGVuIHJ1dGFzIHJ1cmFsZXMuIENvbiBsbyBhbnRlcmlvciBlbiBjdWVudGEsIHRhbWJpw6luIHB1ZWRlIHNlciBxdWUgcG9ycXVlIGhheSBtZW5vcyBjYW50aWRhZCBkZSB0csOhbnNpdG8gaGF5YW4gbWVub3MgZmFjdG9yZXMgcHNpY29lbW9jaW9uYWxlcyBxdWUgYWZlY3RlbiBhbCBtb21lbnRvIGRlIGNvbmR1Y2lyLg0KYGBge3IsZWNobz1GQUxTRX0NCiN5ID1taWRlcGxhbiB4PSBjYW50b24NCiN0ZW5lciBjYW50b24gY29uIG1hcyB5IG1lbm9zIGFjY2lkZW50ZXMNCnJlZ2lvbl9jYW50b25fbWFzX2FjY2lkZW50ZXM8LWRhdGElPiUNCiAgZ3JvdXBfYnkoUmVnacOzbi5NaWRlcGxhbiwgQ2FudMOzbiklPiUNCiAgc3VtbWFyaXNlKFJDdG90YWxfYWNjaWRlbnRlcyA9IG4oKSwuZ3JvdXBzID0gImRyb3AiKQ0KDQpyZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzPC1yZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzJT4lDQogIGdyb3VwX2J5KFJlZ2nDs24uTWlkZXBsYW4sIENhbnTDs24pJT4lDQogIHN1bW1hcmlzZShtYXhfdmFsb3IgPSBtYXgoUkN0b3RhbF9hY2NpZGVudGVzKSwuZ3JvdXBzID0gImRyb3AiKSU+JQ0KICBhcnJhbmdlKG1heF92YWxvcikNCg0KIyBOw7ptZXJvIGRlIGNvbG9yZXMgZGVzZWFkbw0Kbl9jb2xvcmVzIDwtIDE3Ng0KDQojIEdlbmVyYXIgbGEgcGFsZXRhIGRlIGNvbG9yZXMNCg0KcGFsZXRhX2NvbG9yZXMgPC1yYWluYm93X2hjbChuX2NvbG9yZXMpICMgRWplbXBsbyBkZSBjb2xvcmVzIGJhc2UNCmBgYA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KDQpmaWcgPC0gcGxvdF9seShyZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzLCB4ID0gflJlZ2nDs24uTWlkZXBsYW4sIHkgPSB+bWF4X3ZhbG9yLCBtYXJrZXIgPSBsaXN0KGNvbG9yPXBhbGV0YV9jb2xvcmVzKSAsIHR5cGUgPSAnYmFyJyxob3ZlcnRlbXBsYXRlID0gfnBhc3RlKCJSZWdpw7NuOiAiLCBSZWdpw7NuLk1pZGVwbGFuLCAiPGJyPkNhbnTDs246ICIsIENhbnTDs24sICI8YnI+VmFsb3I6ICIsIG1heF92YWxvciwNCiAgICAgICI8ZXh0cmE+PC9leHRyYT4iKSkNCg0KZmlnIDwtIGZpZyAlPiUgbGF5b3V0KHlheGlzID0gbGlzdCh0aXRsZSA9ICcnKSx4YXhpcz1saXN0KHRpdGxlID0gJycpLCBiYXJtb2RlID0gJ3N0YWNrJykNCg0KZmlnDQpgYGANCkVudHJlIDIwMTYtMjAyMiwgbGEgZ3LDoWZpY2EgYXBpbGFkYSBkZSBiYXJyYXMgbXVlc3RyYSBxdWUgbGFzIGJhcnJhcyBlc3TDoW4gYWdydXBhZGFzIHBvciByZWdpw7NuIHkgYXBpbGFkYXMgcG9yIGNhbnRvbmVzIGNvbiBtYXlvciBuw7ptZXJvIGRlIGFjY2lkZW50ZXMuIEVsIGNvbG9yIGluZGljYSBjdcOhbnRvcyBhY2NpZGVudGVzIGh1Ymllcm9uIGVuIGNhZGEgY2FudMOzbi4gRW4gbGEgem9uYSBkZSBDb3N0YSBSaWNhLCBkb25kZSBtw6FzIGFjY2lkZW50ZXMgb2N1cnJpZXJvbiwgbGEgcmVnacOzbiBjZW50cmFsIHkgZWwgY2FudMOzbiBkZSBTYW4gSm9zw6kgdGllbmVuIGVsIG1heW9yIG7Dum1lcm8gZGUgYWNjaWRlbnRlcy4gQWRlbcOhcywgbG9zIGNhbnRvbmVzIHF1ZSBjb21wYXJ0ZW4gbcOhcyBhY2NpZGVudGVzIHNvbiBsb3MgbcOhcyBkZXNhcnJvbGxhZG9zIHVyYmFuYW1lbnRlLCBtaWVudHJhcyBxdWUgbG9zIGNhbnRvbmVzIGNvbiBtZW5vcyBhY2NpZGVudGVzIHNvbiBsb3MgbcOhcyBwb2JyZXMgbyBtZW5vcyBkZXNhcnJvbGxhZG9zLiBFc3RvIHNlIHBvZHLDrWEgZGViZXIgYSBxdWUgaGF5IG1lbm9zIHZlaMOtY3Vsb3MgZW4gY2FycmV0ZXJhLCBwb3IgbGEgZmFsdGEgZGUgcG9kZXIgYWRxdWlzaXRpdm8uDQpgYGB7ciwgZWNobyA9IEZBTFNFfQ0KYW5pb0NURzwtZGF0YSAlPiUNCiAgZ3JvdXBfYnkoQcOxbyxUaXBvLmRlLmNpcmN1bGFjacOzbixFc3RhZG8uZGVsLnRpZW1wbyxDbGFzZS5kZS5hY2NpZGVudGUpICU+JQ0KICBzdW1tYXJpc2UoTnVtZXJvQWNjaWRlbnRlcz1uKCksLmdyb3Vwcz0iZHJvcCIpDQoNCmFuaW9DVEc8LWFuaW9DVEclPiUNCiAgZ3JvdXBfYnkoQcOxbyxUaXBvLmRlLmNpcmN1bGFjacOzbixFc3RhZG8uZGVsLnRpZW1wbyxDbGFzZS5kZS5hY2NpZGVudGUpJT4lDQogIHN1bW1hcmlzZShBY2NpZGVudGVzID0gbWluKE51bWVyb0FjY2lkZW50ZXMpLC5ncm91cHMgPSAiZHJvcCIpJT4lDQogIGFycmFuZ2UoQWNjaWRlbnRlcykNCmFuaW9DVEc8LWFuaW9DVEclPiUNCiAgcmVuYW1lKENpcmN1bGFjaW9uID0gVGlwby5kZS5jaXJjdWxhY2nDs24pJT4lDQogIHJlbmFtZShDbGltYSA9IEVzdGFkby5kZWwudGllbXBvKSU+JQ0KICByZW5hbWUoR3JhdmVkYWQgPSBDbGFzZS5kZS5hY2NpZGVudGUpDQoNCmFuaW9DVEckQcOxbzwtc3Vic3RyKGFuaW9DVEckQcOxbywgc3RhcnQgPSAzLCBzdG9wID0gbmNoYXIoYW5pb0NURyRBw7FvKSkNCiNlbGltaW5vIGVsIDIwIGRlbCBhw7FvIHBhcmEgcXVlIHNlYSBtZWpvciBsYSByZXNwcmVzZW50YWNpw7NuIHRleHR1YWwNCiNvIHNlYSBlbiB2ZXogZGUgMjAxNiBzYWxlIDE2DQpgYGANCg0KYGBge3IsZWNobz1GQUxTRX0NCmZhY2VJbnRlcmFjdGl2byA8LSBnZ3Bsb3QoYW5pb0NURywgYWVzKHg9Q2lyY3VsYWNpb24sIHk9QWNjaWRlbnRlcywgY29sb3I9Q2xpbWEsIGdyb3VwPUdyYXZlZGFkKSkgKw0KICAgIGdlb21fcG9pbnQoKSsNCiAgICBsYWJzKHg9IlRpcG8gZGUgY2lyY3VsYWNpw7NuIix5PSJDYW50aWRhZCBhY2NpZGVudGVzIixjb2xvdXI9IiBFc3RhZG8gZGVsIGNsaW1hIikrDQogIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDAsIDI2MDApLCBicmVha3MgPSBjKDAsIDI2MDApKSsNCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAtNDUsIGhqdXN0ID0gMCksYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoYW5nbGU9MTIpKSsNCiAgICBmYWNldF9ncmlkKEHDsW8gfiAuLCBzY2FsZSA9ICJmcmVlX3giLHNwYWNlID0gImZyZWUiKQ0KICAgIA0KDQpnZ3Bsb3RseShmYWNlSW50ZXJhY3Rpdm8pDQpgYGANCkVzdGEgZ3LDoWZpY2EgbXVlc3RyYSBlbCBtw61uaW1vIGRlIGFjY2lkZW50ZXMgcG9yIGHDsW8sIHRpcG8gZGUgY2lyY3VsYWNpw7NuLCBlc3RhZG8gZGVsIGNsaW1hIHkgc29uIGFncnVwYWRvcyBwb3IgbGEgZ3JhdmVkYWQgZGVsIGFjY2lkZW50ZS4gTGEgbWF5b3LDrWEgZGUgbG9zIGFjY2lkZW50ZXMgY3VyaW9zYW1lbnRlIHNlIGRhbiBjb24gYnVlbiB0aWVtcG8sIGNvbnRyYXJpYW1lbnRlIGEgbG8gcXVlIHNlIGVzcGVyYXLDrWEgcXVlIHNlYSBtw6FzIGJpZW4gZW4gdW4gbWFsIGNsaW1hIGNvbW8gbGEgbGx1dmlhLiBFc3RvIHF1aWVyZSBkZWNpciBxdWUgc2kgaGF5IHVuIGJ1ZW4gY2xpbWEgbG9zIGNvbmR1Y3RvcmVzIHNlIHJlbGFqYW4geSBubyBhbmRhbiBsbyBzdWZpY2llbnRlbWVudGUgYXRlbnRvcyBhbCBhbWJpZW50ZS4gRXN0byB0aWVuZSB1biBlZmVjdG8gaW5tZWRpYXRvIGNvbiBlbCB0aXBvIGRlIGNpcmN1bGFjacOzbiwgeWEgcXVlIGFsIG5vIHRvbWFyIGxhIHN1ZmljaWVudGUgcHJlY2F1Y2nDs24gc2UgdGVybWluYW4gYWNjaWRlbnRhbmRvLCB5IGVzdG9zIGVuIHN1IG1heW9yw61hIHNvbiBkZSBleHRyZW1hIGdyYXZlZGFkLg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCiMgQ2FsY3VsYXIgbGEgY2FudGlkYWQgZGUgYWNjaWRlbnRlcyBwb3IgYcOxbw0KZnJlY3VlbmNpYV9hw7FvIDwtIHRhYmxlKGRhdGEkQcOxbykNCg0KIyBDcmVhciB1biBmcmFtZSBkZSBkYXRvcyBjb24gbGEgZnJlY2llbmNhIHkgZWwgYcOxbw0KZGF0b3NfZnJlY3VlbmNpYV9hw7FvIDwtIGRhdGEuZnJhbWUoDQogIEHDsW8gPSBuYW1lcyhmcmVjdWVuY2lhX2HDsW8pLA0KICBBY2NpZGVudGVzID0gYXMubnVtZXJpYyhmcmVjdWVuY2lhX2HDsW8pDQopDQoNCiMgQ3JlYXIgZWwgZ3JhZmljbyBjb24gdW4gcHVudG8gcG9yIGNhZGEgYcOxbw0KcHVudG9zX2HDsW8gPC0gZ2dwbG90KGRhdG9zX2ZyZWN1ZW5jaWFfYcOxbywgYWVzKHggPSBBw7FvLCB5ID0gQWNjaWRlbnRlcywgY29sb3IgPSBBw7FvKSkgKw0KICBnZW9tX3BvaW50KHNpemUgPSA1KSArDQogIHNjYWxlX3hfZGlzY3JldGUoYnJlYWtzID0gTlVMTCkgKw0KICBsYWJzKHkgPSAiIyBkZSBhY2NpZGVudGVzIiwgDQogICAgICAgdGl0bGUgPSAiQ2FudGlkYWQgZGUgYWNjaWRlbnRlcyBwb3IgYcOxbyIpICsNCiAgdGhlbWUoYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSkNCg0KcHVudG9zX2HDsW9zX2ludGVyYWN0aXZhIDwtIGdncGxvdGx5KHB1bnRvc19hw7FvKQ0KYGBgDQoNCmBgYHtyLCBlY2hvID0gRkFMU0V9DQpiYXJyYXNfaG9yYSA8LSBnZ3Bsb3QoZGF0YSwgYWVzKHggPSBIb3JhLnJlY29kaWZpY2FkYSwgZmlsbCA9IEhvcmEucmVjb2RpZmljYWRhKSkgKw0KICBnZW9tX2JhcigpICsNCiAgbGFicyh0aXRsZSA9ICJBY2NpZGVudGVzIHBvciBhw7FvIHkgcG9yIEhvcmEgcmVjb2RpZmljYWRhIiwNCiAgICAgICB4ID0gIkhvcmEgUmVjb2RpZmljYWRhIiwgeSA9ICIjIGRlIGFjY2lkZW50ZXMiLCBmaWxsID0gIkHDsW8gLyBSYW5nbyBob3JhcmlvIikgKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSkNCg0KYmFycmFzX2hvcmFfaW50ZXJhY3RpdmEgPC0gZ2dwbG90bHkoYmFycmFzX2hvcmEpDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmJhcnJhc190aXBvX2NsYXNlIDwtIGdncGxvdChkYXRhLCBhZXMoeCA9IFRpcG8uZGUuYWNjaWRlbnRlLCBmaWxsID0gQ2xhc2UuZGUuYWNjaWRlbnRlKSkgKw0KICBnZW9tX2JhcigpICsNCiAgbGFicyh0aXRsZSA9ICJUaXBvcyBkZSBoZXJpZG9zIHBvciB0aXBvIGRlIGFjY2lkZW50ZSBlbnRyZSAyMDE2LTIwMjIiLA0KICAgICAgIHggPSAiVGlwbyBkZSBhY2NpZGVudGUiLCB5ID0gIiMgZGUgYWNjaWRlbnRlcyIsIGZpbGwgPSAiVGlwbyBkZSBoZXJpZG9zIikgKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDMxNSwgaGp1c3QgPSAwKSkNCg0KZ2dwbG90bHkoYmFycmFzX3RpcG9fY2xhc2UpDQpgYGANCg0KYGBge3IsZWNobz1GQUxTRX0NCmRhdG9zX211bHRpZGltZW5zaW9uYWxlczwtZGF0YSU+JQ0KICBmaWx0ZXIoZ3JlcGwoIl5bMS03XVxcLihEb21pbmdvfEx1bmVzfE1hcnRlc3xNacOpcmNvbGVzfEp1ZXZlc3xWaWVybmVzfFPDoWJhZG8pJCIsIETDrWEpKSAlPiUNCiAgZ3JvdXBfYnkoSG9yYS5yZWNvZGlmaWNhZGEsRMOtYSxFc3RhZG8uZGVsLnRpZW1wbyxUaXBvLmRlLmNhbHphZGEsVGlwby5kZS5jaXJjdWxhY2nDs24pJT4lDQogIHN1bW1hcmlzZShhY2NpZGVudGVzPW4oKSwuZ3JvdXBzID0gImRyb3AiKQ0KDQpkYXRvc19tdWx0aWRpbWVuc2lvbmFsZXMkRMOtYSA8LSBnc3ViKCJbMS03XVxcLiIsICIiLCBkYXRvc19tdWx0aWRpbWVuc2lvbmFsZXMkRMOtYSkNCiAgDQpgYGANCg0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KYXhpcyA9IGxpc3Qoc2hvd2xpbmU9RkFMU0UsDQogICAgICAgICAgICB6ZXJvbGluZT1GQUxTRSwNCiAgICAgICAgICAgIGdyaWRjb2xvcj0nI2ZmZmYnLA0KICAgICAgICAgICAgdGlja2xlbj0xKQ0KDQptYXRyaXpEIDwtIGRhdG9zX211bHRpZGltZW5zaW9uYWxlcyAlPiUNCiAgcGxvdF9seSgpIA0KbWF0cml6RCA8LSBtYXRyaXpEICU+JQ0KICBhZGRfdHJhY2UoDQogICAgdHlwZSA9ICdzcGxvbScsDQogICAgZGltZW5zaW9ucyA9IGxpc3QoDQogICAgICBsaXN0KGxhYmVsPSdEw61hJyx2YWx1ZXM9fkTDrWEpLA0KICAgICAgbGlzdChsYWJlbD0nVHLDoW5zaXRvJyx2YWx1ZXM9flRpcG8uZGUuY2lyY3VsYWNpw7NuKSwNCiAgICAgIGxpc3QobGFiZWw9J0hvcmEnLHZhbHVlcz1+SG9yYS5yZWNvZGlmaWNhZGEpLA0KICAgICAgbGlzdChsYWJlbD0nVsOtYScsdmFsdWVzPX5UaXBvLmRlLmNhbHphZGEpLA0KICAgICAgbGlzdChsYWJlbD0nQ2xpbWEnLHZhbHVlcz1+RXN0YWRvLmRlbC50aWVtcG8pDQogICAgKQ0KICApDQptYXRyaXpEIDwtIG1hdHJpekQgJT4lDQogIGxheW91dCgNCiAgICB0aXRsZT0gJ0FjY2lkZW50ZXMgZGVsIDIwMTYtMjAyMiBldmFsdWFuZG8gZGlzdGludG9zIGZhY3RvcmVzJywNCiAgICBob3Zlcm1vZGU9J2Nsb3Nlc3QnLA0KICAgIGRyYWdtb2RlPSAnc2VsZWN0JywNCiAgICBwbG90X2JnY29sb3I9J3JnYmEoMjQwLDI0MCwyNDAsIDAuOTUpJywNCiAgICB4YXhpcz1saXN0KGRvbWFpbj1OVUxMLCBzaG93bGluZT1GLCB6ZXJvbGluZT1GLCBncmlkY29sb3I9JyNmZmZmJywgdGlja2xlbj00KSwNCiAgICB5YXhpcz1saXN0KGRvbWFpbj1OVUxMLCBzaG93bGluZT1GLCB6ZXJvbGluZT1GLCBncmlkY29sb3I9JyNmZmZmJywgdGlja2xlbj00KSwNCiAgICB4YXhpczI9YXhpcywNCiAgICB4YXhpczM9YXhpcywNCiAgICB4YXhpczQ9YXhpcywNCiAgICB5YXhpczI9YXhpcywNCiAgICB5YXhpczM9YXhpcywNCiAgICB5YXhpczQ9YXhpcw0KICApDQoNCm1hdHJpekQgPC0gbWF0cml6RCAlPiUNCiAgbGF5b3V0KA0KICB4YXhpcyA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB4YXhpczIgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeGF4aXMzID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCksDQogIHhheGlzNCA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB4YXhpczUgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXMgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXMyID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCksDQogIHlheGlzMyA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB5YXhpczQgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXM1ID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCkNCikNCm1hdHJpekQNCg0KDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmdyYWZpY2FfZGVfZ3JhZmljYXMgPC0gc3VicGxvdChwdW50b3NfYcOxb3NfaW50ZXJhY3RpdmEsIGJhcnJhc19ob3JhX2ludGVyYWN0aXZhLCBucm93cyA9IDIpDQoNCmdyYWZpY2FfZGVfZ3JhZmljYXMNCmBgYA==